﻿
namespace SSAT
{
    internal static class Constants
    {
        public const string ProgramName = "Authentification Troubleshooter (Beta 1)";

        public static class System
        {
            public const string UserNameKey = "%username%";
            public const string DomainSeparator = @"\";
            public const string PathSeparator = @"\";
            public const string HexNumberIndicator = "0x";
        }

        public static class UI
        {
            public const string ConsoleGreetingsSeparator = "********************************";
        }

        public static class SqlServer
        {
            public const string ServerNameColumnName = "ServerName";
            public const string ConnectionStringServerItem = "Server";
            public const string ConnectionStringTrustedConnectionItem = "Trusted_Connection";
        }

        public static class AtsDriver
        {
            public const string ErrorNumberColumn = "err_number";
            public const string ErrorStateColumn = "err_state";
            public const string ErrorMessageColumn = "err_message";
            public const string ErrorTimeColumn = "err_time";
            public const string UserNameColumn = "username";
            public const string NtUserNameColumn = "nt_username";
            public const string SessionNtUserName = "session_nt_username";
            public const string DataBaseIdColumn = "DbId";
            public const string SqlTextColumn = "sql_text";
            public const string DataBaseContextColumn = "db_context";
            public const string ClientApplicationNameColumn = "client_app_name";
            public const string ClientPid = "client_pid";
            public const string ClientHostName = "client_hostname";
            public const string SessionIdColumn = "session_id";
            public const string RbErrorColumn = "RB_Error";
            public const string DataBaseNameColumn = "Db_name";
            public const string AccessModeColumn = "user_access_desc";
            public const string StateDescriptionColumn = "state_desc";
            public const string MirroringDescriptionColumn = "mirroring_role_desc";

            public static class Descriptions
            {
                public const string Online = "ONLINE";
                public const string Mirror = "MIRROR";
            }

            public static class AccessModes
            {
                public const string MultiUser = "MULTI_USER";
            }

            public static class LoginTokens
            {
                public const string Public = "public";
                public const string Guest = "guest";
            }

            public static class Permissions
            {
                public const string Denied = "D";
                public const string Granted = "G";
                public const string Revoked = "R";
            }

            public static class ApiFailuresAttributes
            {
                public const string SPID = "SPID";
                public const string ApiName = "APIName";
                public const string ErrorCode = "ErrorCode";
            }

            public static class WinApi
            {
                public const string ImpersonateSecurityContext = "ImpersonateSecurityContext";
                public const string NetValidatePasswordPolicy = "NetValidatePasswordPolicy";
            }

            public static class Classes
            {
                public const string Endpoint = "ENDPOINT";
                public const string Server = "SERVER";
            }
        }
    }
}
